From: Adrian Vovk Date: Thu, 1 May 2025 22:34:52 +0000 (-0400) Subject: main: Register session with GDM on startup X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~66^2^2~8 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=6457a1454a05bac8f7e172c17fbcb2b5baeae619;p=gnome-shell.git main: Register session with GDM on startup When no monitor is connected, gnome-shell starts but never emits `startup-prepared` nor `startup-complete`. As a result, GDM never detects that the shell has launched and plymouthd remains running, preventing the system from reaching graphical.target. Ensure that registerSessionWithGDM() is called even when no monitor is connected, so GDM can terminate plymouthd and allow the system to reach graphical.target properly. Part of https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/285 Part-of: (cherry picked from commit 32a013304f8c507cb72a5419c7f4b7c553253520) --- diff --git a/js/ui/main.js b/js/ui/main.js index 4a011f262..bd3906311 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -335,6 +335,8 @@ async function _initializeUI() { extensionManager = new ExtensionSystem.ExtensionManager(); extensionManager.init(); + LoginManager.registerSessionWithGDM(); + if (sessionMode.isGreeter && screenShield) { layoutManager.connect('startup-prepared', () => { screenShield.showDialog(); @@ -381,8 +383,6 @@ async function _initializeUI() { sessionMode.currentMode !== 'initial-setup') _handleLockScreenWarning(); - LoginManager.registerSessionWithGDM(); - if (perfModule) { let perfOutput = GLib.getenv('SHELL_PERF_OUTPUT'); Scripting.runPerfScript(perfModule, perfOutput);